Optimization of a Legacy Open Source Cfd Code for the New High Performance Computing Architectures
نویسندگان
چکیده
Legacy computational fluid dynamics (CFD) software plays a crucial role in today’s simulation-based engineering due to the confidence level established through validation of these codes over time. Fortran, one of the oldest programming languages around, has gained an important role in high performance computing (HPC) environment as the complexity of the problems tackled increased with their size. As HPC has rapidly changed, Fortran has also evolved and modern Fortran (e.g., Fortran 2003, and 2008 standards) has shown that it can remain the choice for engineering and scientific codes among other modern programming languages like C++. However, modernizing legacy CFD software based on older Fortran versions has been known to pose its own unique challenges. For example, refactoring the code by eliminating obsolete constructs and revising the data structures to employ modern Fortran features may require significant rewrite of the entire code. Such rewrite requires standalone verification and validation phases to establish the credibility of the revised code. On the other hand, there is a strong motivation and substantial need to optimize the performance of legacy CFD codes on the new high performance computing platforms in order to take advantage of the potential performance gains. The rapidly evolving and increasingly heterogeneous processor architectures with the new memory technologies and communication over high speed but networks, pose a diverse range of challenges for legacy CFD code developers to optimize the performance of their software for the targeted HPC architectures. In addition, features such as extensive paralellism through many cores (threads) as well as vector capabilities of modern HPC platforms require significant changes to legacy codes to enable parallelism and vectorization that can result in orders of magnitude higher performance. In this study, we present the preliminary results of our optimization efforts on a partially modernized legacy CFD code, MFIX for the new Intel R © Many Integrated Core (MIC) architecture based HPC systems. This effort, which started during the first Hack-athon organized by the National Energy Research Scientific Computing Center (NERSC)
منابع مشابه
Engineering high-performance legacy codes as CORBA components for problem-solving environments
This paper describes techniques used to leverage high performance legacy codes as CORBA components to a distributed problem solving environment. It first briefly introduces the software architecture adopted by the environment. Then it presents a CORBA oriented wrapper generator (COWG) which can be used to automatically wrap high performance legacy codes as CORBA components. Two legacy codes hav...
متن کاملA simulation suite for Lattice-Boltzmann based real-time CFD applications exploiting multi-level parallelism on modern multi- and many-core architectures
We present a software approach to hardware-oriented numerics which builds upon an augmented, previously published set of open-source libraries facilitating portable code development and optimisation on a wide range of modern computer architectures. In order to maximise efficiency, we exploit all levels of parallelism, including vectorisation within CPU cores, the Cell BE and GPUs, shared memory...
متن کاملA PTX Code Generator for LLVM
Today’s GPGPU architectures and corresponding high level programming languages like CUDA replace the traditionally restricted GPU pipelines. Proprietary compilers allow to translate these languages into native GPU assembly. Unfortunately, these compilers are non-customizable and restricted to static compilation. High performant application currently require particular manual optimizations. To o...
متن کاملAchieving Efficient Strong Scaling with PETSc Using Hybrid MPI/OpenMP Optimisation
The increasing number of processing elements and decreasing memory to core ratio in modern high-performance platforms makes efficient strong scaling a key requirement for numerical algorithms. In order to achieve efficient scalability on massively parallel systems scientific software must evolve across the entire stack to exploit the multiple levels of parallelism exposed in modern architecture...
متن کاملPerformance Evaluation of a Ranque-Hilsch Vortex Tube with Optimum Geometrical Dimensions
A brass Vortex Tube (VT) with interchangeable parts is used to determine the optimum cold end orifice diameter, main tube length and diameter. Experim...
متن کامل